/*
 * GUITableElement.h
 *
 *  Created on: Apr 27, 2009
 *      Author: wrice
 */

#ifndef GUITABLEELEMENT_H_
#define GUITABLEELEMENT_H_
#include "GUI.h"
namespace GUI {

class GUITableElement: EXTENDS_INTERFACE( GUIElement ) {
public:
	virtual GUITableCaptionElement * getCaption() = 0;
	virtual void setCaption( GUITableCaptionElement * caption) throw(DOMExceptionPtr) = 0;

	virtual GUITableSectionElement * getTHead() = 0;
	virtual void setTHead(GUITableSectionElement * tHead) throw(DOMExceptionPtr) = 0;

	virtual GUITableSectionElement * getTFoot() = 0;
	virtual void setTFoot( GUITableSectionElement * tFoot) throw(DOMExceptionPtr) = 0;

	virtual GUICollection * getRows() = 0;

	virtual GUICollection * getTBodies() = 0;

	virtual DOMString getAlign() = 0;
	virtual void setAlign(DOMString align) = 0;

	virtual DOMString getBgColor() = 0;
	virtual void setBgColor(DOMString bgColor) = 0;

	virtual DOMString getBorder() = 0;
	virtual void setBorder(DOMString border) = 0;

	virtual DOMString getCellPadding() = 0;
	virtual void setCellPadding(DOMString cellPadding) = 0;

	virtual DOMString getCellSpacing() = 0;
	virtual void setCellSpaceing(DOMString cellSpacing) = 0;

	virtual DOMString getWidth() = 0;
	virtual void setWidth(DOMString width) = 0;


	GUIElement * createTHead();
	void deleteTHead();

	GUIElement * createTFoot();
	void deleteTFoot();

	GUIElement * createCaption();
	void deleteCaption();

	GUIElement * insertRow(long index) throw(DOMExceptionPtr);
	void deleteRow(long index) throw(DOMExceptionPtr);
};

}

#endif /* GUITABLEELEMENT_H_ */
